Code Randomization: Haven't We Solved This Problem Yet?
نویسندگان
چکیده
Two decades since the idea of using software diversity for security was put forward, ASLR is the only technique to see widespread deployment. This is puzzling since academic security researchers have published scores of papers claiming to advance the state of the art in the area of code randomization. Unfortunately, these improved diversity techniques are generally less deployable than integrity-based techniques, such as controlflow integrity, due to their limited compatibility with existing optimization, development, and distribution practices. This paper contributes yet another diversity technique called pagerando. Rather than trading off practicality for security, we first and foremost aim for deployability and interoperability. Most code randomization techniques interfere with memory sharing and deduplication optimization across processes and virtual machines; ours does not. We randomize at the granularity of individual code pages but never rewrite page contents. This also avoids incompatibilities with code integrity mechanisms that only allow signed code to be mapped into memory and prevent any subsequent changes. On Android, pagerando fully adheres to the default SELinux policies. All practical mitigations must interoperate with unprotected legacy code; our implementation transparently interoperates with unmodified applications and libraries. To support our claims of practicality, we demonstrate that our technique can be integrated into and protect all shared libraries shipped with stock Android 6.0. We also consider hardening of non-shared libraries and executables and other concerns that must be addressed to put software diversity defenses on par with integrity-based mitigations such as CFI.
منابع مشابه
Fairneß, Randomisierung und Konspiration in verteilten Algorithmen
Fairness, Randomization, and Conspiracy in Distributed Algorithms Concepts such as fairness (i.e., fair con ict resolution), randomization (i.e., coin ips), and partial synchrony are frequently used to solve fundamental synchronizationand coordination-problems in distributed systems such as the mutual exclusion problem (mutex problem for short) and the consensus problem. For some problems it is...
متن کاملOn the Speci cation and Semantics of Source
Several eeorts have been made recently towards practical source code model checking. This paper deals with a related problem that up to now has not yet been solved completely, namely the integration of LTL property speciications into object oriented source code. We present a notation that can be used for this purpose, and a sketch of the way a formal semantics can be assigned to such notation. ...
متن کامل3D BENCHMARK RESULTS FOR ROBUST STRUCTURAL OPTIMIZATION UNDER UNCERTAINTY IN LOADING DIRECTIONS
This study has been inspired by the paper "An efficient 3D topology optimization code written in MATLAB” written by Liu and Tovar (2014) demonstrating that SIMP-based three-dimensional (3D) topology optimization of continuum structures can be implemented in 169 lines of MATLAB code. Based on the above paper, we show here that, by simple and easy-to-understand modificati...
متن کاملCompiler-assisted Code Randomization
Despite decades of research on software diversification, only address space layout randomization has seen widespread adoption. Code randomization, an effective defense against return-oriented programming exploits, has remained an academic exercise mainly due to i) the lack of a transparent and streamlined deployment model that does not disrupt existing software distribution norms, and ii) the i...
متن کاملLeakage-Resilient Layout Randomization for Mobile Devices
Attack techniques based on code reuse continue to enable real-world exploits bypassing all current mitigations. Code randomization defenses greatly improve resilience against code reuse. Unfortunately, sophisticated modern attacks such as JITROP can circumvent randomization by discovering the actual code layout on the target and relocating the attack payload on the fly. Hence, effective code ra...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016